The invention relates generally to the field of digital data processing systems, and more specifically to digital data processing systems for manipulating video data.
Previously, manipulating video data, e.g., compressing, storing, decompressing, and displaying, and achieving high quality images required specialized hardware and a good deal of time.
Typically, video data comes from a source, e.g., a color television signal, and is scanned into 15 bit digital units consisting of five bits to represent each of red, green, and blue (rgb). In a simple sense, to properly display this data required a 15 bit display device, a large amount of storage, and a great deal of time to load and unload the data.
One solution to the problems of devices and storage was to sub sample the data, i.e., compress 15 bits of rgb data into 8 bits of rgb data so that less storage was needed and an 8 bit display device could be used. In sub sampling, the five bits representing red are reduced to three bits, the five bits representing green are reduced to three bits, and the five bits representing blue are reduced to two bits. Unfortunately, an image resulting from such a compression technique fails to account for nuances of an image and produces an effect known as "posterization," i.e., the resulting image resembles a poster. So, while it was possible to compress data and use an 8 bit display device, the quality of the images produced was poor.
In addition, if one wanted to display the video data quickly, i.e., in real time, on either a 15 bit or an 8 bit display device, significant data compression was necessary which required both time and computation. One way to speed up the display process and reduce the amount of computation was to divide the display image into sections and compute only the sections of the image that were changing, e.g., a person's mouth in a teleconferencing situation, and leave other sections of the image alone unless they changed. This approach, however, still required computation to determine which sections of an image were changing and, further, still did not provide quality images.
One solution to the problem of poor quality images was an asymmetric approach where no concern was taken for how much time it took to compress the video data but, because the data was so completely and neatly compressed, it could be displayed in real time. While this approach produced high quality images, it remained computationally expensive.
Related to the problem of producing high quality images is the problem of choosing colors. A typical display device addresses 256 colors. Previously, in a color fitting procedure, the best 256 colors for a particular image were chosen and displayed. However, if one wanted to then overlay another image or place two images side by side, the color fitting procedure would choose the best 256 colors for the second image and be unable to maintain the colors in the first image. Various other video effects, e.g., dissolves and digital effects, were equally difficult to implement and maintain.